package stockscreener.negocio;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.GenericGenerator;

@Entity
public class BalancoPatrimonial {
	
	private Long id;
	private Date data;
	private Long disponibilidades;
	private Long ativoTotal;
	private Long endividamentoFinanceiro;
	private Long patrimonioLiquido;
	private Empresa empresa;

	@Id
	@GeneratedValue(generator = "increment")
	@GenericGenerator(name = "increment", strategy = "increment")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Long getDisponibilidades() {
		return disponibilidades;
	}
	public void setDisponibilidades(Long disponibilidades) {
		this.disponibilidades = disponibilidades;
	}
	public Long getAtivoTotal() {
		return ativoTotal;
	}
	public void setAtivoTotal(Long ativoTotal) {
		this.ativoTotal = ativoTotal;
	}
	public Long getEndividamentoFinanceiro() {
		return endividamentoFinanceiro;
	}
	public void setEndividamentoFinanceiro(Long endividamentoFinanceiro) {
		this.endividamentoFinanceiro = endividamentoFinanceiro;
	}
	public Long getPatrimonioLiquido() {
		return patrimonioLiquido;
	}
	public void setPatrimonioLiquido(Long patrimonioLiquido) {
		this.patrimonioLiquido = patrimonioLiquido;
	}
	public Date getData() {
		return data;
	}
	public void setData(Date data) {
		this.data = data;
	}
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name="empresa_id",
	insertable=true, updatable=true)
	@Fetch(FetchMode.JOIN)
	public Empresa getEmpresa() {
		return empresa;
	}
	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}
}
